#ifndef PHYSICS_BOX2DVEHICLE_H
#define PHYSICS_BOX2DVEHICLE_H

#include "Common/Common.h"
#include <Box2D/Box2D.h>

class Box2DVehicle : public lodestar::IVehicle
{
public:
    Box2DVehicle(b2Body* body);

    virtual float getMass() const override;

    virtual void setMass( float value ) override;

    virtual Vector getPosition() const override;

    virtual Vector getVelocity() const override;

    virtual float getMaxSpeed() const override;

    virtual void applyForce(const Vector& force) override;

    virtual void applySteering(const Vector& steering) override;

    virtual void setAngle(float angle) override;
protected:
    b2Body* mBody;
    float   mMaxSpeed;
};
#endif